A Study of Query Execution Strategies for Client-server Database Systems
نویسندگان
چکیده
Query processing in a client-server database system raises the question of where to execute queries to minimize the communication costs and response time of a query, and to load-balance the system. This paper evaluates the two common query execution strategies, data shipping and query shipping, and a policy referred to as hybrid shipping. Data shipping determines that queries be executed at clients; query shipping determines that queries be executed at servers; and hybrid shipping provides the exibility to execute queries at clients and servers. The experiments with a client-server model connrm that the query execution policy is critical for the performance of a system. Neither data nor query shipping are optimal in all situations, and the performance penalities can be substantial. Hybrid shipping at least matches the best performance of data and query shipping and shows better performance than both in many cases. The performance of hybrid shipping plans, however, is shown to be sensitive to changes in the state of the system (e.g., the load of machines and the contents of caches). Initial experiments indicate that an extended version of a 2-step optimization may be an eeective strategy for adjusting plans according to the state of the system at runtime.
منابع مشابه
Separating indexes from data: a distributed scheme for secure database outsourcing
Database outsourcing is an idea to eliminate the burden of database management from organizations. Since data is a critical asset of organizations, preserving its privacy from outside adversary and untrusted server should be warranted. In this paper, we present a distributed scheme based on storing shares of data on different servers and separating indexes from data on a distinct server. Shamir...
متن کاملDegrees of Transaction Isolation in SQL*Cache: A Predicate-based Client-side Caching System
A caching scheme that uses query predicates to cache data on the client-side in a client-server relational database system was presented in [15]. The client-side cache (henceforth referred to as a SQL*Cache), loads query results dynamically in the course of transaction execution, and formulates a cache description based on the query predicates. SQL*Cache is associative in nature, in that it sup...
متن کاملIn Quest of the Bottleneck - Monitoring Parallel Database Systems
Monitoring query processing has proven to be an eeective technique to detect bottlenecks in sequential query execution systems' components. Monitoring distributed execution in parallel systems, however , is a diicult task. The monitoring data of all nodes must be collected at the same time to value load-balancing and scheduling. Furthermore, we want to extract not only information about resourc...
متن کاملCorrector, a web interface for practice session with immediate feedback Rapport A/377/CRI
Corrector is a client-server web application which provides immediate feedback to students during practice sessions by automatically validating the proposed answers. The teacher needs only focus on solving comprehension problems with clever explanations. Corrector is especially well fitted to help teaching SQL, the language used in relational database systems. Indeed, some questions admit many ...
متن کاملCache Investment Strategies
Emerging client-server and peer-to-peer distributed information systems employ data caching to improve performance and reduce the need for remote access to data. In distributed database systems, caching is a by-product of query operator placement | data that are brought to a site by a query operator can be retained at that site for future use. Operator placement, however, must take the location...
متن کامل